<?php
// src/INT/UserBundle/Entity/User.php

namespace INT\UserBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
    /**
     * @var integer
     *
     * @ORM\Column(name="cin", type="integer",nullable=true)
     */
    private $cin;
    /**
   * @ORM\OneToMany(targetEntity="INT\AdminBundle\Entity\Seance", mappedBy="enseignant")
   */
  private $seances;
  
  // a voir 
  
      /**
     * @ORM\ManyToMany(targetEntity="INT\AdminBundle\Entity\Matiere" ,inversedBy="user")
     */
    private $matieres;
  
      /**
   * @ORM\OneToMany(targetEntity="INT\AdminBundle\Entity\EtudiantPresence", mappedBy="etudiant")
   */
  private $etudiantpresence;
  
  //fin
  
     /**
     * @var string
     *
     * @ORM\Column(name="nom", type="string", length=255,nullable=true)
     */
    private $nom;
    /**
     * @var string
     *
     * @ORM\Column(name="grad_ens", type="string", length=255,nullable=true)
     */
    private $grad_ens;
     /**
     * @var string
     *
     * @ORM\Column(name="spec_ens", type="string", length=255,nullable=true)
     */
    private $spec_ens;
     /**
     * @var string
     *
     * @ORM\Column(name="prenom", type="string", length=255,nullable=true)
     */
    private $prenom;
    /**
     * @var string
     *
     * @ORM\Column(name="numero_carte_etudient", type="string", length=255,nullable=true)
     */
    private $numero_carte_etudient;
    /**
     * @var string
     *
     * @ORM\Column(name="civilite", type="string", length=255,nullable=true)
     */
    private $civilite;
    /**
     * @var string
     *
     * @ORM\Column(name="telephone", type="string", length=255,nullable=true)
     */
    private $telephone;
    /**
     * @var string
     *
     * @ORM\Column(name="adresse", type="string", length=255,nullable=true)
     */
    private $adresse;
     /**
     * @var \DateTime
     *
     * @ORM\Column(name="naissance", type="date",nullable=true)
     */
    private $date_naissance;
     /**
     * @var string
     *
     * @ORM\Column(name="lieu_naissance", type="string", length=255,nullable=true)
     */
    private $lieu_naissance;
    /**
     * @var string
     *
     * @ORM\Column(name="diplome_actuel", type="string", length=255,nullable=true)
     */
    private $diplome_actuel;
    /**
     * @var string
     *
     * @ORM\Column(name="dernier_diplome", type="string", length=255,nullable=true)
     */
    private $dernier_diplome;
    /**
     * @var string
     *
     * @ORM\Column(name="niveau", type="string", length=255,nullable=true)
     */
    private $niveau;
    
    public function __construct()
    {
        parent::__construct();
        // your own logic
    }
    

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set cin
     *
     * @param integer $cin
     * @return User
     */
    public function setCin($cin)
    {
        $this->cin = $cin;
    
        return $this;
    }

    /**
     * Get cin
     *
     * @return integer 
     */
    public function getCin()
    {
        return $this->cin;
    }

    /**
     * Set nom
     *
     * @param string $nom
     * @return User
     */
    public function setNom($nom)
    {
        $this->nom = $nom;
    
        return $this;
    }

    /**
     * Get nom
     *
     * @return string 
     */
    public function getNom()
    {
        return $this->nom;
    }

    /**
     * Set prenom
     *
     * @param string $prenom
     * @return User
     */
    public function setPrenom($prenom)
    {
        $this->prenom = $prenom;
    
        return $this;
    }

    /**
     * Get prenom
     *
     * @return string 
     */
    public function getPrenom()
    {
        return $this->prenom;
    }

    /**
     * Set numero_carte_etudient
     *
     * @param string $numeroCarteEtudient
     * @return User
     */
    public function setNumeroCarteEtudient($numeroCarteEtudient)
    {
        $this->numero_carte_etudient = $numeroCarteEtudient;
    
        return $this;
    }

    /**
     * Get numero_carte_etudient
     *
     * @return string 
     */
    public function getNumeroCarteEtudient()
    {
        return $this->numero_carte_etudient;
    }

    /**
     * Set civilite
     *
     * @param string $civilite
     * @return User
     */
    public function setCivilite($civilite)
    {
        $this->civilite = $civilite;
    
        return $this;
    }

    /**
     * Get civilite
     *
     * @return string 
     */
    public function getCivilite()
    {
        return $this->civilite;
    }

    /**
     * Set telephone
     *
     * @param string $telephone
     * @return User
     */
    public function setTelephone($telephone)
    {
        $this->telephone = $telephone;
    
        return $this;
    }

    /**
     * Get telephone
     *
     * @return string 
     */
    public function getTelephone()
    {
        return $this->telephone;
    }

    /**
     * Set adresse
     *
     * @param string $adresse
     * @return User
     */
    public function setAdresse($adresse)
    {
        $this->adresse = $adresse;
    
        return $this;
    }

    /**
     * Get adresse
     *
     * @return string 
     */
    public function getAdresse()
    {
        return $this->adresse;
    }

    /**
     * Set date_naissance
     *
     * @param \DateTime $dateNaissance
     * @return User
     */
    public function setDateNaissance($dateNaissance)
    {
        $this->date_naissance = $dateNaissance;
    
        return $this;
    }

    /**
     * Get date_naissance
     *
     * @return \DateTime 
     */
    public function getDateNaissance()
    {
        return $this->date_naissance;
    }

    /**
     * Set lieu_naissance
     *
     * @param string $lieuNaissance
     * @return User
     */
    public function setLieuNaissance($lieuNaissance)
    {
        $this->lieu_naissance = $lieuNaissance;
    
        return $this;
    }

    /**
     * Get lieu_naissance
     *
     * @return string 
     */
    public function getLieuNaissance()
    {
        return $this->lieu_naissance;
    }

    /**
     * Set diplome_actuel
     *
     * @param string $diplomeActuel
     * @return User
     */
    public function setDiplomeActuel($diplomeActuel)
    {
        $this->diplome_actuel = $diplomeActuel;
    
        return $this;
    }

    /**
     * Get diplome_actuel
     *
     * @return string 
     */
    public function getDiplomeActuel()
    {
        return $this->diplome_actuel;
    }

    /**
     * Set dernier_diplome
     *
     * @param string $dernierDiplome
     * @return User
     */
    public function setDernierDiplome($dernierDiplome)
    {
        $this->dernier_diplome = $dernierDiplome;
    
        return $this;
    }

    /**
     * Get dernier_diplome
     *
     * @return string 
     */
    public function getDernierDiplome()
    {
        return $this->dernier_diplome;
    }

    /**
     * Set niveau
     *
     * @param string $niveau
     * @return User
     */
    public function setNiveau($niveau)
    {
        $this->niveau = $niveau;
    
        return $this;
    }

    /**
     * Get niveau
     *
     * @return string 
     */
    public function getNiveau()
    {
        return $this->niveau;
    }

    /**
     * Set grad_ens
     *
     * @param string $mdpEns
     * @return User
     */
    public function setGradEns($mdpEns)
    {
        $this->grad_ens = $mdpEns;
    
        return $this;
    }

    /**
     * Get grad_ens
     *
     * @return string 
     */
    public function getGradEns()
    {
        return $this->grad_ens;
    }

    /**
     * Set spec_ens
     *
     * @param string $specEns
     * @return User
     */
    public function setSpecEns($specEns)
    {
        $this->spec_ens = $specEns;
    
        return $this;
    }

    /**
     * Get spec_ens
     *
     * @return string 
     */
    public function getSpecEns()
    {
        return $this->spec_ens;
    }

    /**
     * Add seances
     *
     * @param \INT\AdminBundle\Entity\Seance $seances
     * @return User
     */
    public function addSeance(\INT\AdminBundle\Entity\Seance $seances)
    {
        $this->seances[] = $seances;
    
        return $this;
    }

    /**
     * Remove seances
     *
     * @param \INT\AdminBundle\Entity\Seance $seances
     */
    public function removeSeance(\INT\AdminBundle\Entity\Seance $seances)
    {
        $this->seances->removeElement($seances);
    }

    /**
     * Get seances
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getSeances()
    {
        return $this->seances;
    }

    /**
     * Add etudiantpresence
     *
     * @param \INT\AdminBundle\Entity\EtudiantPresence $etudiantpresence
     * @return User
     */
    public function addEtudiantpresence(\INT\AdminBundle\Entity\EtudiantPresence $etudiantpresence)
    {
        $this->etudiantpresence[] = $etudiantpresence;
    
        return $this;
    }

    /**
     * Remove etudiantpresence
     *
     * @param \INT\AdminBundle\Entity\EtudiantPresence $etudiantpresence
     */
    public function removeEtudiantpresence(\INT\AdminBundle\Entity\EtudiantPresence $etudiantpresence)
    {
        $this->etudiantpresence->removeElement($etudiantpresence);
    }

    /**
     * Get etudiantpresence
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getEtudiantpresence()
    {
        return $this->etudiantpresence;
    }

    /**
     * Add matieres
     *
     * @param \INT\AdminBundle\Entity\Matiere $matieres
     * @return User
     */
    public function addMatiere(\INT\AdminBundle\Entity\Matiere $matieres)
    {
        $this->matieres[] = $matieres;
    
        return $this;
    }

    /**
     * Remove matieres
     *
     * @param \INT\AdminBundle\Entity\Matiere $matieres
     */
    public function removeMatiere(\INT\AdminBundle\Entity\Matiere $matieres)
    {
        $this->matieres->removeElement($matieres);
    }

    /**
     * Get matieres
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getMatieres()
    {
        return $this->matieres;
    }
}